DHCP
DHCP(Dynamic Host Configuration Protocol)是一個用于主機動態獲取IP地址的配置解析,使用UDP報文傳送,端口號為67(server)和68(client)。
DHCP使用了租約的概念,或稱為計算機IP地址的有效期。租用時間是不定的,主要取決于用戶在某地連接Internet需要多久,這對于教育行業和其它用戶頻繁改變的環境是很實用的。通過較短的租期,DHCP能夠在一個計算機比可用IP地址多的環境中動態地重新配置網絡。
DHCP支持為計算機分配靜態地址,如需要永久性IP地址的Web服務器。
DNS
DNS(Domain Name System)是一個解析域名和IP地址對應關系以及電子郵件選路信息的服務。 它以遞歸的方式運行:首先訪問最近的DNS服務器,如果查詢到域名對應的IP地址則直接返回,否則的話再向上一級查詢。DNS通常以UDP報文來傳送,并使用端口號53。 從應用的角度來看,其實就是兩個庫函數gethostbyname()和gethostbyaddr()。 FQDN:全域名(FQDN,Fully Qualified Domain Name)是指主機名加上全路徑,全路徑中列出了序列中所有域成員(包括root)。全域名可以從邏輯上準確地表示出主機在什么地方,也可以說全域名是主機名的一種完全表示形式。
一、資源記錄(RR)
A記錄: 用于查詢IP地址 PTR記錄: 逆向查詢記錄,用于從IP地址查詢域名 CNAME: 表示“規范名字”,用來表示一個域名,也通常稱為別名 HINFO: 表示主機信息,包括主機CPU和操作系統的兩個字符串 MX: 郵件交換記錄 NS: 名字服務器記錄,即下一級域名信息的服務器地址,只能設置為域名,不能是IP
二、高速緩存
為了減少DNS的通信量,所有的名字服務器均使用高速緩存。在標準Unix是實現中,高速緩存是由名字服務器而不是名字解釋器來維護的。
三、用UDP還是TCP
DNS服務器支持TCP和UDP兩種協議的查詢方式,而且端口都是53。而大多數的查詢都是UDP查詢的,一般需要TCP查詢的有兩種情況: 當查詢數據多大以至于產生了數據截斷(TC標志為1),這時,需要利用TCP的分片能力來進行數據傳輸。 當主(master)服務器和輔(slave)服務器之間通信,輔服務器要拿到主服務器的zone信息的時候。
域名解析(DNS)充當著Internet的電話簿角色。
計算機使用數字地址而不是電話號碼進行通信,這些數字地址稱為IP地址,看起來像192.168.1.1。 數字對于計算機來說很好,但是人們想要記住它們是很可怕的。想象一下,訪問Google,您必須輸入172.217.24.196。那只是一個站點,互聯網上還有數百萬個站點!您將需要大量的內存或龐大的筆記本,并且需要足夠的耐心才能記住所有這些內容。
試問一下,您還記得所有朋友的電話號碼嗎?
DNS解決這一難題,因為它為計算機提供了一種容易被記住的域名將其轉換為IP地址的方式。 要找出哪個IP地址與哪個域名一起使用,必須詢問DNS服務器。默認情況下,你有可能使用Internet服務提供商(ISP)的DNS服務器,因此,你將通過DNS服務器查找IP地址。
問題是要找到所需的IP地址,您必須告訴ISP。
因此,即使他們可能看不到您向該站點發送的消息或從該站點發送的消息,他們也知道您嘗試或想要訪問哪些站點,因為你查找了該站點的IP地址。
當你訪問網站時,DNS允許ISP看到什么?
可以將DNS視為調用目錄查詢。以電話公司為參照,接線員會問你要尋找的人,然后他們會給你該人的電話號碼。如果你沒有提供姓名,他們顯然無法查詢該電話號碼。